package br.com.bb.cslsp.modelo.bem;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedNativeQuery;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.com.bb.cslsp.modelo.dependencia.Dependencia;

@Entity
@Table(schema = "global")
public class Bem implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(length = 13)
	private Long numeroBem;

	@Column(length = 1)
	private int tipoBem;

	@Column(length = 2)
	private int tipoPBMS;

	@Column(length = 2)
	private int classePBMS;

	@Column(length = 3)
	private int subClassePBMS;

	@Column(length = 6)
	private int sequencialPBMS;

	@Column(length = 16)
	private String PBMS;

	@Column(length = 20)
	private String nome;

	@Column(length = 2)
	private int indicadorBase;

	@ManyToOne
	private Dependencia dependenciaDetentora;

	@ManyToOne
	private Dependencia dependenciaInstalacao;

	@Column(length = 5)
	private int qt;

	@Temporal(TemporalType.DATE)
	private Date dataAquisicao;

	@Column(length = 15)
	private BigDecimal valorAquisicao;

	@Column(length = 15)
	private BigDecimal valorResidual;

	@Column(length = 15)
	private BigDecimal valorTotalDepreciado;

	@Column(length = 9)
	private int fornecedor;

	@Column(length = 2)
	private int situacao;

	@Temporal(TemporalType.DATE)
	private Date dataSituacao;

	@Temporal(TemporalType.DATE)
	private Date dataInstalacao;

	@Column(length = 2)
	private int prefixoCSLJurisdicionante;

	@Column(length = 13)
	private Long numeroUniversalInstalacao;

	@Column(length = 4)
	private int estadoConservacao;

	@Column(length = 7)
	private int configuracao;

	public Long getNumeroBem() {
		return numeroBem;
	}

	public void setNumeroBem(Long numeroBem) {
		this.numeroBem = numeroBem;
	}

	public int getTipoPBMS() {
		return tipoPBMS;
	}

	public void setTipoPBMS(int tipoPBMS) {
		this.tipoPBMS = tipoPBMS;
	}

	public int getClassePBMS() {
		return classePBMS;
	}

	public void setClassePBMS(int classePBMS) {
		this.classePBMS = classePBMS;
	}

	public int getSubClassePBMS() {
		return subClassePBMS;
	}

	public void setSubClassePBMS(int subClassePBMS) {
		this.subClassePBMS = subClassePBMS;
	}

	public int getSequencialPBMS() {
		return sequencialPBMS;
	}

	public void setSequencialPBMS(int sequencialPBMS) {
		this.sequencialPBMS = sequencialPBMS;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getIndicadorBase() {
		return indicadorBase;
	}

	public void setIndicadorBase(int indicadorBase) {
		this.indicadorBase = indicadorBase;
	}

	public Dependencia getDependenciaDetentora() {
		return dependenciaDetentora;
	}

	public void setDependenciaDetentora(Dependencia dependenciaDetentora) {
		this.dependenciaDetentora = dependenciaDetentora;
	}

	public Dependencia getDependenciaInstalacao() {
		return dependenciaInstalacao;
	}

	public void setDependenciaInstalacao(Dependencia dependenciaInstalacao) {
		this.dependenciaInstalacao = dependenciaInstalacao;
	}

	public int getQt() {
		return qt;
	}

	public void setQt(int qt) {
		this.qt = qt;
	}

	public Date getDataAquisicao() {
		return dataAquisicao;
	}

	public void setDataAquisicao(Date dataAquisicao) {
		this.dataAquisicao = dataAquisicao;
	}

	public BigDecimal getValorAquisicao() {
		return valorAquisicao;
	}

	public void setValorAquisicao(BigDecimal valorAquisicao) {
		this.valorAquisicao = valorAquisicao;
	}

	public BigDecimal getValorTotalDepreciado() {
		return valorTotalDepreciado;
	}

	public void setValorTotalDepreciado(BigDecimal valorTotalDepreciado) {
		this.valorTotalDepreciado = valorTotalDepreciado;
	}

	public int getFornecedor() {
		return fornecedor;
	}

	public void setFornecedor(int fornecedor) {
		this.fornecedor = fornecedor;
	}

	public int getSituacao() {
		return situacao;
	}

	public void setSituacao(int situacao) {
		this.situacao = situacao;
	}

	public Date getDataSituacao() {
		return dataSituacao;
	}

	public void setDataSituacao(Date dataSituacao) {
		this.dataSituacao = dataSituacao;
	}

	public Date getDataInstalacao() {
		return dataInstalacao;
	}

	public void setDataInstalacao(Date dataInstalacao) {
		this.dataInstalacao = dataInstalacao;
	}

	public int getPrefixoCSLJurisdicionante() {
		return prefixoCSLJurisdicionante;
	}

	public void setPrefixoCSLJurisdicionante(int prefixoCSLJurisdicionante) {
		this.prefixoCSLJurisdicionante = prefixoCSLJurisdicionante;
	}

	public Long getNumeroUniversalInstalacao() {
		return numeroUniversalInstalacao;
	}

	public void setNumeroUniversalInstalacao(Long numeroUniversalInstalacao) {
		this.numeroUniversalInstalacao = numeroUniversalInstalacao;
	}

	public int getEstadoConservacao() {
		return estadoConservacao;
	}

	public void setEstadoConservacao(int estadoConservacao) {
		this.estadoConservacao = estadoConservacao;
	}

	public int getConfiguracao() {
		return configuracao;
	}

	public void setConfiguracao(int configuracao) {
		this.configuracao = configuracao;
	}

	public BigDecimal getValorResidual() {
		return valorResidual;
	}

	public void setValorResidual(BigDecimal valorResidual) {
		this.valorResidual = valorResidual;
	}

}
